/**
 * @fileOverview 浏览器环境检测
 * @author <a href="mailto:lexloo@126.com">lexloo</a>
 */
(function() {
	if (typeof com.firefly.Env != 'undefined') {
		return;
	}

	var ua = navigator.userAgent.toLowerCase();

	var isStrict = document.compatMode == "CSS1Compat";
	var isOpera = ua.indexOf("opera") > -1;
	var isSafari = (/webkit|khtml/).test(ua);
	var isIE = !isOpera && ua.indexOf("msie") > -1;
	var isIE7 = !isOpera && ua.indexOf("msie 7") > -1;
	var isGecko = !isSafari && ua.indexOf("gecko") > -1;
	var isBorderBox = isIE && !isStrict;
	var isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1);
	var isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1);
	var isLinux = (ua.indexOf("linux") != -1);
	var isSecure = window.location.href.toLowerCase().indexOf("https") === 0;

	/* remove css image flicker */
	if (isIE && !isIE7) {
		try {
			document.execCommand("BackgroundImageCache", false, true);
		} catch (e) {
		}
	}

	var isDOMCompatiable = false;
	var testDom = document.createElement('div');
	if (testDom.addEventListener) {
		isDOMCompatiable = true;
	}
	testDom = null;
	/**
	 * @static
	 * @class 浏览器环境检测类
	 * @author <a href="mailto:lexloo@126.com">lexloo</a>
	 */
	com.firefly.Env = {
		/**
		 * 是否DOM兼容，主要是针对IE有自己独立的处理方法
		 * 
		 * @type Boolean
		 */
		isDOMCompatiable : isDOMCompatiable,
		/**
		 * 是否严格语法
		 * 
		 * @type Boolean
		 */
		isStrict : isStrict,
		/**
		 * 是否Opera浏览器
		 * 
		 * @type Boolean
		 */
		isOpera : isOpera,
		/**
		 * 是否Safari浏览器
		 * 
		 * @type Boolean
		 */
		isSafari : isSafari,
		/**
		 * 是否IE浏览器
		 * 
		 * @type Boolean
		 */
		isIE : isIE,
		/**
		 * 是否IE7浏览器
		 * 
		 * @type Boolean
		 */
		isIE7 : isIE7,
		/**
		 * 是否Gekko浏览器
		 * 
		 * @type Boolean
		 */
		isGecko : isGecko,
		/**
		 * 是否支持盒模型
		 * 
		 * @type Boolean
		 */
		isBorderBox : isBorderBox,
		/**
		 * 是否Windows操作系统
		 * 
		 * @type Boolean
		 */
		isWindows : isWindows,
		/**
		 * 是否Mac操作系统
		 * 
		 * @type Boolean
		 */
		isMac : isMac,
		/**
		 * 是否Linux操作系统
		 * 
		 * @type Boolean
		 */
		isLinux : isLinux,
		/**
		 * 是否安全连接
		 * 
		 * @type Boolean
		 */
		isSecure : isSecure
	};

	/**
	 * com.firefly.Env的快捷访问
	 */
	$Env = com.firefly.Env;
})();
